// 判断一个数据是否是对象
function isObject(obj: any): boolean {
  if (obj === null) {
    return false;
  } else {
    return typeof obj === "object" && !Array.isArray(obj);
  }
}

// 判断一个数据是否是数组
function isArray(arr: any): boolean {
  return Array.isArray(arr);
}

// 判断一个数据是否是函数
function isFunction(fn: any): boolean {
  return typeof fn === "function";
}

// 判断一个数据是否是字符串
function isString(str: any): boolean {
  return typeof str === "string";
}

// 判断一个数据是否是数字
function isNumber(num: any): boolean {
  return typeof num === "number" && !isNaN(num);
}

// 判断一个数据是否是布尔值
function isBoolean(bool: any): boolean {
  return typeof bool === "boolean";
}

export { isObject, isArray, isFunction, isString, isNumber, isBoolean };
